ContinueWhenAny(TAntecedentResult) Method (Task(TAntecedentResult)[], Action(Task(TAntecedentResult)), CancellationToken, TaskContinuationOptions, TaskScheduler)

Task Parallel System.Threading

Creates a continuation Task that will be started upon the completion of any Task in the provided set.

Namespace:  System.Threading.Tasks
Assembly:  System.Threading (in System.Threading.dll)

Syntax

Visual Basic (Declaration)
Public Function ContinueWhenAny(Of TAntecedentResult) ( _
	tasks As Task(Of TAntecedentResult)(), _
	continuationAction As Action(Of Task(Of TAntecedentResult)), _
	cancellationToken As CancellationToken, _
	continuationOptions As TaskContinuationOptions, _
	scheduler As TaskScheduler _
) As Task
C#
public Task ContinueWhenAny<TAntecedentResult>(
	Task<TAntecedentResult>[] tasks,
	Action<Task<TAntecedentResult>> continuationAction,
	CancellationToken cancellationToken,
	TaskContinuationOptions continuationOptions,
	TaskScheduler scheduler
)

Parameters

tasks
Type: array< System.Threading.Tasks..::.Task<(Of <(TAntecedentResult>)>) >[]()[]
The array of tasks from which to continue when one task completes.
continuationAction
Type: System..::.Action<(Of <(Task<(Of <(TAntecedentResult>)>)>)>)
The action delegate to execute when one task in the tasks array completes.
cancellationToken
Type: System.Threading..::.CancellationToken
The CancellationToken that will be assigned to the new continuation task.
continuationOptions
Type: System.Threading.Tasks..::.TaskContinuationOptions
The TaskContinuationOptions value that controls the behavior of the created continuation Task.
scheduler
Type: System.Threading.Tasks..::.TaskScheduler
The TaskScheduler that is used to schedule the created continuation Task<(Of <(TResult>)>).

Type Parameters

TAntecedentResult
The type of the result of the antecedent tasks.

Return Value

The new continuation Task.

Remarks

The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Exceptions

ExceptionCondition
System..::.ArgumentNullExceptionThe exception that is thrown when the tasks array is null.
System..::.ArgumentNullExceptionThe exception that is thrown when the continuationAction argument is null.
System..::.ArgumentNullExceptionThe exception that is thrown when the scheduler argument is null.
System..::.ArgumentExceptionThe exception that is thrown when the tasks array contains a null value.
System..::.ArgumentExceptionThe exception that is thrown when the tasks array is empty.
System..::.ArgumentOutOfRangeExceptionThe exception that is thrown when the continuationOptions argument specifies an invalid TaskContinuationOptions value.
System..::.ObjectDisposedExceptionThe exception that is thrown when one of the elements in the tasks array has been disposed.
System..::.ObjectDisposedExceptionThe provided CancellationToken has already been disposed.

See Also